Full source code giải đố hình đơn giản
16.651 lượt xem;
- LayoutPuzzleButtons.cs
- Puzzle Game Controller /
- Scripts /
- Assets /
- project /
1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4 using UnityEngine.UI;
5
6 public class LayoutPuzzleButtons : MonoBehaviour
7 {
8
9 [SerializeField]
10 private SetupPuzzleGame setupPuzzleGame;
11
12 [SerializeField]
13 private Transform puzzleLevel1, puzzleLevel2, puzzleLevel3, puzzleLevel4, puzzleLevel5;
14
15 public List<Button> level1Buttons, level2Buttons, level3Buttons, level4Buttons, level5Buttons;
16
17 public List<Animator> level1Anims, level2Anims, level3Anims, level4Anims, level5Anims;
18
19 [SerializeField]
20 private Sprite[] puzzleButtonsBacksideImages;
21
22 private int puzzleLevel;
23
24 private string selectedPuzzle;
25
26 public void LayoutButtons(int level, string puzzle)
27 {
28 this.puzzleLevel = level;
29 this.selectedPuzzle = puzzle;
30
31 setupPuzzleGame.SetLevelAndPuzzle(puzzleLevel, selectedPuzzle);
32
33 LayoutPuzzle();
34 }
35
36 void LayoutPuzzle()
37 {
38
39 switch (this.puzzleLevel)
40 {
41
42 case 0:
43
44 foreach (Button btn in level1Buttons)
45 {
46 if (!btn.gameObject.activeInHierarchy)
47 {
48 btn.gameObject.SetActive(true);
49 btn.transform.SetParent(puzzleLevel1, false);
50 }
51
52 if (selectedPuzzle == "Candy Puzzle")
53 {
54 btn.image.sprite = puzzleButtonsBacksideImages[0];
55 }
56 else if (selectedPuzzle == "Transport Puzzle")
57 {
58 btn.image.sprite = puzzleButtonsBacksideImages[1];
59 }
60 else if (selectedPuzzle == "Shape Puzzle")
61 {
62 btn.image.sprite = puzzleButtonsBacksideImages[2];
63 }
64
65 }
66
67 setupPuzzleGame.SetPuzzleButtonsAndAnimators(level1Buttons, level1Anims);
68
69
70 break;
71
72 case 1:
73
74 foreach (Button btn in level2Buttons)
75 {
76 if (!btn.gameObject.activeInHierarchy)
77 {
78 btn.gameObject.SetActive(true);
79 btn.transform.SetParent(puzzleLevel2, false);
80 }
81
82 if (selectedPuzzle == "Candy Puzzle")
83 {
84 btn.image.sprite = puzzleButtonsBacksideImages[0];
85 }
86 else if (selectedPuzzle == "Transport Puzzle")
87 {
88 btn.image.sprite = puzzleButtonsBacksideImages[1];
89 }
90 else if (selectedPuzzle == "Shape Puzzle")
91 {
92 btn.image.sprite = puzzleButtonsBacksideImages[2];
93 }
94
95 }
96
97 setupPuzzleGame.SetPuzzleButtonsAndAnimators(level2Buttons, level2Anims);
98
99
100 break;
101
102 case 2:
103
104 foreach (Button btn in level3Buttons)
105 {
106 if (!btn.gameObject.activeInHierarchy)
107 {
108 btn.gameObject.SetActive(true);
109 btn.transform.SetParent(puzzleLevel3, false);
110 }
111
112 if (selectedPuzzle == "Candy Puzzle")
113 {
114 btn.image.sprite = puzzleButtonsBacksideImages[0];
115 }
116 else if (selectedPuzzle == "Transport Puzzle")
117 {
118 btn.image.sprite = puzzleButtonsBacksideImages[1];
119 }
120 else if (selectedPuzzle == "Shape Puzzle")
121 {
122 btn.image.sprite = puzzleButtonsBacksideImages[2];
123 }
124
125 }
126
127 setupPuzzleGame.SetPuzzleButtonsAndAnimators(level3Buttons, level3Anims);
128
129
130 break;
131
132 case 3:
133
134 foreach (Button btn in level4Buttons)
135 {
136 if (!btn.gameObject.activeInHierarchy)
137 {
138 btn.gameObject.SetActive(true);
139 btn.transform.SetParent(puzzleLevel4, false);
140 }
141
142 if (selectedPuzzle == "Candy Puzzle")
143 {
144 btn.image.sprite = puzzleButtonsBacksideImages[0];
145 }
146 else if (selectedPuzzle == "Transport Puzzle")
147 {
148 btn.image.sprite = puzzleButtonsBacksideImages[1];
149 }
150 else if (selectedPuzzle == "Shape Puzzle")
151 {
152 btn.image.sprite = puzzleButtonsBacksideImages[2];
153 }
154
155 }
156
157 setupPuzzleGame.SetPuzzleButtonsAndAnimators(level4Buttons, level4Anims);
158
159
160 break;
161
162 case 4:
163
164 foreach (Button btn in level5Buttons)
165 {
166 if (!btn.gameObject.activeInHierarchy)
167 {
168 btn.gameObject.SetActive(true);
169 btn.transform.SetParent(puzzleLevel5, false);
170 }
171
172 if (selectedPuzzle == "Candy Puzzle")
173 {
174 btn.image.sprite = puzzleButtonsBacksideImages[0];
175 }
176 else if (selectedPuzzle == "Transport Puzzle")
177 {
178 btn.image.sprite = puzzleButtonsBacksideImages[1];
179 }
180 else if (selectedPuzzle == "Shape Puzzle")
181 {
182 btn.image.sprite = puzzleButtonsBacksideImages[2];
183 }
184
185 }
186
187 setupPuzzleGame.SetPuzzleButtonsAndAnimators(level5Buttons, level5Anims);
188
189
190 break;
191 }
192
193
194 }
195 }
2 using System.Collections.Generic;
3 using UnityEngine;
4 using UnityEngine.UI;
5
6 public class LayoutPuzzleButtons : MonoBehaviour
7 {
8
9 [SerializeField]
10 private SetupPuzzleGame setupPuzzleGame;
11
12 [SerializeField]
13 private Transform puzzleLevel1, puzzleLevel2, puzzleLevel3, puzzleLevel4, puzzleLevel5;
14
15 public List<Button> level1Buttons, level2Buttons, level3Buttons, level4Buttons, level5Buttons;
16
17 public List<Animator> level1Anims, level2Anims, level3Anims, level4Anims, level5Anims;
18
19 [SerializeField]
20 private Sprite[] puzzleButtonsBacksideImages;
21
22 private int puzzleLevel;
23
24 private string selectedPuzzle;
25
26 public void LayoutButtons(int level, string puzzle)
27 {
28 this.puzzleLevel = level;
29 this.selectedPuzzle = puzzle;
30
31 setupPuzzleGame.SetLevelAndPuzzle(puzzleLevel, selectedPuzzle);
32
33 LayoutPuzzle();
34 }
35
36 void LayoutPuzzle()
37 {
38
39 switch (this.puzzleLevel)
40 {
41
42 case 0:
43
44 foreach (Button btn in level1Buttons)
45 {
46 if (!btn.gameObject.activeInHierarchy)
47 {
48 btn.gameObject.SetActive(true);
49 btn.transform.SetParent(puzzleLevel1, false);
50 }
51
52 if (selectedPuzzle == "Candy Puzzle")
53 {
54 btn.image.sprite = puzzleButtonsBacksideImages[0];
55 }
56 else if (selectedPuzzle == "Transport Puzzle")
57 {
58 btn.image.sprite = puzzleButtonsBacksideImages[1];
59 }
60 else if (selectedPuzzle == "Shape Puzzle")
61 {
62 btn.image.sprite = puzzleButtonsBacksideImages[2];
63 }
64
65 }
66
67 setupPuzzleGame.SetPuzzleButtonsAndAnimators(level1Buttons, level1Anims);
68
69
70 break;
71
72 case 1:
73
74 foreach (Button btn in level2Buttons)
75 {
76 if (!btn.gameObject.activeInHierarchy)
77 {
78 btn.gameObject.SetActive(true);
79 btn.transform.SetParent(puzzleLevel2, false);
80 }
81
82 if (selectedPuzzle == "Candy Puzzle")
83 {
84 btn.image.sprite = puzzleButtonsBacksideImages[0];
85 }
86 else if (selectedPuzzle == "Transport Puzzle")
87 {
88 btn.image.sprite = puzzleButtonsBacksideImages[1];
89 }
90 else if (selectedPuzzle == "Shape Puzzle")
91 {
92 btn.image.sprite = puzzleButtonsBacksideImages[2];
93 }
94
95 }
96
97 setupPuzzleGame.SetPuzzleButtonsAndAnimators(level2Buttons, level2Anims);
98
99
100 break;
101
102 case 2:
103
104 foreach (Button btn in level3Buttons)
105 {
106 if (!btn.gameObject.activeInHierarchy)
107 {
108 btn.gameObject.SetActive(true);
109 btn.transform.SetParent(puzzleLevel3, false);
110 }
111
112 if (selectedPuzzle == "Candy Puzzle")
113 {
114 btn.image.sprite = puzzleButtonsBacksideImages[0];
115 }
116 else if (selectedPuzzle == "Transport Puzzle")
117 {
118 btn.image.sprite = puzzleButtonsBacksideImages[1];
119 }
120 else if (selectedPuzzle == "Shape Puzzle")
121 {
122 btn.image.sprite = puzzleButtonsBacksideImages[2];
123 }
124
125 }
126
127 setupPuzzleGame.SetPuzzleButtonsAndAnimators(level3Buttons, level3Anims);
128
129
130 break;
131
132 case 3:
133
134 foreach (Button btn in level4Buttons)
135 {
136 if (!btn.gameObject.activeInHierarchy)
137 {
138 btn.gameObject.SetActive(true);
139 btn.transform.SetParent(puzzleLevel4, false);
140 }
141
142 if (selectedPuzzle == "Candy Puzzle")
143 {
144 btn.image.sprite = puzzleButtonsBacksideImages[0];
145 }
146 else if (selectedPuzzle == "Transport Puzzle")
147 {
148 btn.image.sprite = puzzleButtonsBacksideImages[1];
149 }
150 else if (selectedPuzzle == "Shape Puzzle")
151 {
152 btn.image.sprite = puzzleButtonsBacksideImages[2];
153 }
154
155 }
156
157 setupPuzzleGame.SetPuzzleButtonsAndAnimators(level4Buttons, level4Anims);
158
159
160 break;
161
162 case 4:
163
164 foreach (Button btn in level5Buttons)
165 {
166 if (!btn.gameObject.activeInHierarchy)
167 {
168 btn.gameObject.SetActive(true);
169 btn.transform.SetParent(puzzleLevel5, false);
170 }
171
172 if (selectedPuzzle == "Candy Puzzle")
173 {
174 btn.image.sprite = puzzleButtonsBacksideImages[0];
175 }
176 else if (selectedPuzzle == "Transport Puzzle")
177 {
178 btn.image.sprite = puzzleButtonsBacksideImages[1];
179 }
180 else if (selectedPuzzle == "Shape Puzzle")
181 {
182 btn.image.sprite = puzzleButtonsBacksideImages[2];
183 }
184
185 }
186
187 setupPuzzleGame.SetPuzzleButtonsAndAnimators(level5Buttons, level5Anims);
188
189
190 break;
191 }
192
193
194 }
195 }